/**   
* @Title: JedisClientSingle.java 
* @Package com.taotao.rest.compoent.impl 
* @Description: TODO(用一句话描述该文件做什么) 
* @author hekai   
* @date 2017年3月5日 下午3:36:15 
* @version V1.0   
*/
package com.taotao.rest.compoent.impl;

import org.springframework.beans.factory.annotation.Autowired;

import com.taotao.rest.compoent.JedisClient;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

/** 
* @ClassName: JedisClientSingle 
* @Description: redis客户端单机版实现类
* @author hekai
* @date 2017年3月5日 下午3:36:15 
*  
*/
public class JedisClientSingle implements JedisClient {

	@Autowired
	private JedisPool jedisPool;
	
	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#set(java.lang.String, java.lang.String)
	 */
	@Override
	public String set(String key, String value) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.set(key, value);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#get(java.lang.String)
	 */
	@Override
	public String get(String key) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.get(key);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#hset(java.lang.String, java.lang.String, java.lang.String)
	 */
	@Override
	public Long hset(String key, String item, String value) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.hset(key, item, value);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#hgert(java.lang.String, java.lang.String)
	 */
	@Override
	public String hgert(String key, String item) {
		Jedis jedis = jedisPool.getResource();
		String result = jedis.hget(key, item);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#incr(java.lang.String)
	 */
	@Override
	public Long incr(String key) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.incr(key);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#decr(java.lang.String)
	 */
	@Override
	public Long decr(String key) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.decr(key);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#expire(java.lang.String, int)
	 */
	@Override
	public Long expire(String key, int second) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.expire(key, second);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#ttl(java.lang.String)
	 */
	@Override
	public Long ttl(String key) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.ttl(key);
		jedis.close();
		return result;
	}

	/* (non-Javadoc)
	 * @see com.taotao.rest.compoent.JedisClient#hdel(java.lang.String)
	 */
	@Override
	public Long hdel(String key, String item) {
		Jedis jedis = jedisPool.getResource();
		Long result = jedis.hdel(key, item);
		jedis.close();
		return result;
	}

}
